import axios from "axios";
import { ElMessage } from "element-plus";


let instance = axios.create({
  baseURL: "http://localhost:8888",
  timeout: 5000,
  headers: { "Content-Type": "application/x-www-form-urlencoded" },
});



// 添加请求拦截器
instance.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  const token = localStorage.getItem('token')
  config.headers['Authorization'] = token
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
instance.interceptors.response.use(function (response) {
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
  if (response.data.code == 10119) {
    ElMessage({
      type: 'error',
      message: response.data.message
    })
  }
  return response;
}, function (error) {
  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么
  return Promise.reject(error);
});


import('@/router').then(routerModule => {
  // 使用 routerModule 中的 router 实例
  const router = routerModule.default;
  // 设置路由守卫
  router.beforeEach((to, from, next) => {
    const token = localStorage.getItem('token')
    if (!token) {
      next('/login')
    } else {
      next()
    }
  })
});


export default instance